1. Field of the Description
The present disclosure relates, in general, to computers and programming and developing code and programs to be run by computers, and, more particularly, to improved methods for assisting programmers in debugging code when the programmers are using software frameworks, libraries, and/or collections, subroutines, bundles, groups, or the like of previously developed/programmed code to create a software product, program, or application.
2. Relevant Background
There is a growing trend toward developing or creating software programs or code by utilizing and building upon code previously written or created by others. For example, numerous software providers offer code that may be used to build a software program in the form of software libraries and frameworks that the programmers or developers may include in their new program or software product. To use software libraries, the programmer typically is forced to understand the functionality of each method while frameworks tend to be designed to facilitate software development by allowing programmers or developers to devote their time to meeting desired product functionality rather than dealing with the more standard, low-level details of providing a working software product. For example, the programmer is allowed to focus on higher level operations, such as account withdrawals in a financial application, instead of the mechanics of request handling, state management, and the like.
In any of these cases, a software developer may be including others' code in their software product or application without fully understanding how each included code set or bundle of code works and operates. The code bases provided by libraries, frameworks, and the like are frequently very complex, and the developer is rarely an expert in programming in the particular language or in understanding how the framework controls process and data flow. Such abstraction of the lower-level details is useful until the time comes when the framework or library or a program built using the code provided in such a code base is not behaving as the developer expected or planned.
At this point, the framework or developed program may not be able to run at all or runs in unexpected or undesired ways, and the program or framework may have one or more bugs that the developer has to identify and correct. The bug often is caused by some mismatch between the developer's usage of a framework's objects, a library's methods, a sources bundle of code, or the like in their software product, program, or application and the intended or standard usage of such previously developed code. However, since the developer did not write or create the code used from the framework, library, or other code base/source, debugging the framework or other software product is time consuming and, in some cases, impractical for the developer without outside or additional assistance from those intimately knowledgeable about the underlying code.